#include "cpu/exec/template-start.h"

#define make_jcc_helper(name) \
    make_helper(concat4(j,name,_,SUFFIX)){ \
        int len = concat(decode_si_,SUFFIX)(eip+1); \
        print_asm(str(concat(j, name)) " %x", cpu.eip + op_src->val + 1 + len + (DATA_BYTE == 4)); \
        cpu.eip+=(concat3(j,name,_check)()?op_src->val:0); \
        return len + 1; \
    }

#define make_jcc_helper_v(name) \
    make_helper(concat3(j,name,_v)){ \
        return (ops_decoded.is_operand_size_16 ? concat3(j,name, _w) : concat3(j,name, _l)) (eip); \
    }



make_jcc_helper(e);
make_jcc_helper(be);
make_jcc_helper(ne);
make_jcc_helper(le);
make_jcc_helper(g);
make_jcc_helper(l);
make_jcc_helper(s);
make_jcc_helper(ns);
make_jcc_helper(ge);
make_jcc_helper(a);
make_jcc_helper(b);

#include "cpu/exec/template-end.h"